home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9611 / 000056_owner-urn-ietf _Wed Nov 6 09:31:24 1996.msg < prev    next >
Internet Message Format  |  1997-02-19  |  9KB

  1. Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id JAA09099 for urn-ietf-out; Wed, 6 Nov 1996 09:31:24 -0500
  2. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id JAA09094 for <urn-ietf@services.bunyip.com>; Wed, 6 Nov 1996 09:31:20 -0500
  3. Received: from zaphod.axion.bt.co.uk by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  4.         id AA09817  (mail destined for urn-ietf@services.bunyip.com); Wed, 6 Nov 96 09:30:56 -0500
  5. Received: from mailhub.axion.bt.co.uk by zaphod.axion.bt.co.uk with SMTP (PP); Wed, 6 Nov 1996 14:30:10 +0000
  6. Received: from kaa.jungle.bt.co.uk by mailhub.axion.bt.co.uk with SMTP (PP); Wed, 6 Nov 1996 14:29:44 +0000
  7. Received: from phao.jungle.bt.co.uk by kaa.jungle.bt.co.uk; Wed, 6 Nov 96 14:28:56 GMT
  8. Message-Id: <2.2.32.19961106143106.006dd1d8@sherekhan.jungle.bt.co.uk>
  9. X-Sender: rbriscoe@sherekhan.jungle.bt.co.uk
  10. X-Mailer: Windows Eudora Pro Version 2.2 (32)
  11. Mime-Version: 1.0
  12. Content-Type: text/plain; charset="us-ascii"
  13. Date: Wed, 06 Nov 1996 14:31:06 +0000
  14. To: Keith Moore <moore@cs.utk.edu>
  15. From: Bob Briscoe <rbriscoe@jungle.bt.co.uk>
  16. Subject: Re: [URN] Resolution Services (N2L etc)
  17. Cc: urn-ietf@bunyip.com, moore@cs.utk.edu
  18. Sender: owner-urn-ietf@services.bunyip.com
  19. Precedence: bulk
  20. Reply-To: Bob Briscoe <rbriscoe@jungle.bt.co.uk>
  21. Errors-To: owner-urn-ietf@bunyip.com
  22.  
  23. At 23:27 05/11/96 -0500, Keith Moore wrote:
  24. >> 1.2 It strikes me that specifying available service requests (N2L, N2R etc)
  25. >> should not be the job of DNS or any URN resolution mechanism. You are adding
  26. >> metadata about the address that the name resolves to (i.e. allowed methods).
  27. >> NAPTR should simply get you to the place you asked for by mapping names to
  28. >> addresses.
  29. >
  30. >Not clear.  DNS is the place to store name-to-IP-address bindings.  If
  31. >the different services (methods) are at different IP-addresses, the
  32. >mappings between the names of the machines where the services reside,
  33. >and their IP addresses will be managed by DNS.  And there's
  34. >potentially a big efficiency win to having the name-to-service mapping
  35. >lookup occur as a side-effect of an lookup that returns NAPTR records
  36. >with an /s flag.
  37.  
  38. As long as everyone is clear that this is an efficiency hack, not a core
  39. requirement, and of the potential consequential problems, the purpose of my
  40. posting has been met.
  41.  
  42. However, I would like to propose a far cleaner alternative (backed up by a
  43. load more words in the paper on URCs I'm about to put out) which doesn't
  44. need any efficiency hacks because it removes the need to differentiate
  45. between N2C, N2R etc. (and makes multi-collaborative working as easy as
  46. single domain - I'll explain why this is a problem below)...
  47.  
  48. Lets take N2* first:
  49.  
  50. N2C: I would propose, that each address mapping you would intend to give as
  51. a reply to an N2C or an N2L request, should each be given a different URN.
  52. URNs are cheap. As soon as you tie any two things (that are not the same
  53. thing) together under one name, you are doing the job of URCs not URNs.
  54.  
  55. If you insist, for instance, that the URC and the resource both have the
  56. same URN, you are mandating that a URC must be authored with the permission
  57. of the same domain of authority as the author of the resource itself (or
  58. vice versa). This stops people *independently* publishing URCs about other
  59. people's resources. Now where would the Web be today if you had to get
  60. someone's permission to link to them?
  61.  
  62. N2R: I'm much less clear why there is a need to differentiate between N2L
  63. and N2R in the first place. The name resolution service will give back a
  64. location whatever. It's then up to the client to use it and the protocol it
  65. specifies to access the resource if it wants, or not if it doesn't. Nothing
  66. else would scale, and any protocol schemes that needed the name resolver
  67. service to get resources for it should be killed at birth. Am I missing
  68. something?
  69.  
  70. N2Ls & N2Rs: The plural versions are, IMHO, something that should be the
  71. default for all clients using URNs, with singular responses just a special
  72. case. All DNS BIND clients since some time in 1994 included round robin if
  73. they got a list of responses back, so if your user-agent asked BIND for an
  74. address it would get just one, but BIND would feed it another one if it
  75. asked again. If the user-agent wanted the list directly, there would be
  76. nothing stopping it implementing BIND internally.
  77.  
  78. I think I've now reduced all the N2* options to a singular case for each URN
  79. - that is "N2Ls".
  80.  
  81. Moving on to the L2* options.
  82.  
  83. L2R, as I said under N2L & N2R (unless I'm missing something) is not the job
  84. of URNs.
  85.  
  86. L2N is valid, but DNS already has a far more scalable solution by building a
  87. reverse mapping tree topped by a well known name (in-addr.arpa). This could
  88. be bent to do reverse NAPTR lookups. Effectively this makes and L2N into an
  89. N2Ls.
  90.  
  91. L2L could be done with a reverse then a forward lookup.
  92.  
  93. L2C would be useful, but in practice is unattainable if you want to allow
  94. multi-collaborative creation of URCs separate from resources. I have
  95. resigned myself to losing this capability in my work on URCs. The only way
  96. to do this is to rely on a harvester (like you have to do to find everyone
  97. who links to you on the Web today - you put in the URL of your resource as a
  98. query to the search engine).
  99.  
  100. So that's thrown out all the proposed L2* opions or reduced them to "N2Ls".
  101.  
  102. The bottom line is, you only need N2Ls or there are better ways to do this,
  103. IMHO.
  104.  
  105. >
  106. >> Other systems  (service discovery or navigation) should allow you to
  107. >> determine what you *should* ask for from the address once you get it, and
  108. >> once you have the address each protocol scheme might provide a well-known
  109. >> method for querying what methods you *can* do if that is what the scheme
  110. >> needs (e.g. HTTP/1.1 OPTIONS method). 
  111. >
  112. >Only if all possible methods for a service are available at every
  113. >service location.  You don't want to have to ask each service location
  114. >which methods are available at that server.
  115.  
  116. See above.
  117.  
  118. >
  119. >> IOW, the client should already know
  120. >> what it is going to do with the address it gets out of the URN service, or
  121. >> if it doesn't it should be prepared to find out.
  122. >
  123. >The client knows what it wants to do.  But how the client does what it
  124. >wants to do may depend on what services are available.  If there are
  125. >multiple resolution services available for a particular chunk of name
  126. >space, it might be that several of them will do what the client wants.
  127. >For example, if all a client wants is a URL, N2L might be more
  128. >efficient than N2C.
  129.  
  130. Yes, you get efficiency, but at the expense of independence of
  131. collaboration. It would be valid to take the N2* approach to identify the
  132. "trusted" URCs if you wanted to do this, and still allow others to
  133. independently have other URCs.
  134.  
  135. >
  136. >> OK, it may be *easier* to hack it this way, but that's not the point. You
  137. >> are embedding a duplication of meta-information in DNS which will always be
  138. >> prone to being out of date, unreliable, etc. Especially if the world moves
  139. >> to be much more dynamic in this area in the decades you envisage this
  140. >> lasting. More importantly, this information potentially has a different TTL
  141. >> than the address itself, so it will break your caching.
  142. >
  143. >I don't see what the problem is.  DNS can specify TTLs on a
  144. >per-resource-record basis.
  145.  
  146. The problem is that the decision on the *value* for the TTL is easy if it
  147. only relates to the life of the mapping. If it relates to the life of the
  148. mapping *and* the life of all the resolution services within those mappings,
  149. any potential for the automation of the generation of the TTL value has
  150. multiple dependencies. The more complexity you introduce, the more problems
  151. you get with distributed two phase commits, fraud modes etc. etc.
  152.  
  153. >
  154. >At any rate, we should view the use of DNS for resolution as a
  155. >short-term experiment rather than a long-term solution.  Viewed in
  156. >that context, it's not important that we get every little detail
  157. >right.
  158.  
  159. Architecture isn't detail. I'm having to define BT's Future Commercial
  160. Internet Service Architecture on top of whatever you folks do. If I thought
  161. this wasn't important, I would have just kept schtumm and continued to
  162. listen to the URN stuff in read-only mode.
  163.  
  164. Bob
  165. ____________________________________________________________________________
  166. Bob Briscoe         http://www.labs.bt.com/people/briscorj/index.htm
  167.